//package com.wms.framework.jwt;
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.util.StrUtil;
//import cn.hutool.jwt.JWT;
//import com.wms.core.model.User;
//import com.wms.core.service.UserService;
//import com.wms.framework.core.RequestContextHolder;
//import com.jfinal.aop.Aop;
//
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.Date;
//
//public class ApiTokenUtils {
//
//    /**
//     *
//     * @param userId 用户Id
//     * @param sign 密钥
//     * @param expireTime 过期时间
//     * @return
//     */
//    public static String genToken(Integer userId,String sign,Integer expireTime){
//        Date expiresAt= DateUtil.offsetSecond(new Date(),expireTime);
//        String token = JWT.create()
//                .setPayload("userId", userId)
//                .setKey(sign.trim().getBytes())
//                .setExpiresAt(expiresAt)
//                .sign();
//        return token;
//    }
//
//    //获取当前登录的用户信息
//    public static User getCurrentUser(){
//        Integer userId=getCurrentUserId();
//        if(userId==null){
//            return null;
//        }
//        UserService service = Aop.get(UserService.class);
//        return service.findById(userId);
//    }
//    public static Integer getCurrentUserId(){
//        try{
//            HttpServletRequest request = RequestContextHolder.get();
//            String token = request.getHeader("token");
//            if (StrUtil.isNotBlank(token)){
//                JWT jwt = JWT.of(token);
//                Integer userId= Integer.valueOf(jwt.getPayload("userId").toString()) ;
//                return userId;
//            }
//        }catch (Exception e){
//            e.printStackTrace();
//            return null;
//
//        }
//        return null;
//    }
//    public static Boolean verifyToken(String token,String key){
//        return JWT.of(token).setKey(key.trim().getBytes()).verify();
//    }
//    //获取客户端操作系统 ios android
//    public static String getDeviceOs(){
//        HttpServletRequest request = RequestContextHolder.get();
//        String os = request.getHeader("os");
//        return os;
//    }
//    //获取手机品牌
//    public static String getDeviceBrand(){
//        HttpServletRequest request = RequestContextHolder.get();
//        String brand = request.getHeader("brand");
//        return brand;
//    }
//    //获取应用版本
//    public static String getAppVersion(){
//        HttpServletRequest request = RequestContextHolder.get();
//        String version = request.getHeader("version");
//        return version;
//    }
//    //获取应用版本号
//    public static String getAppBuildNumber(){
//        HttpServletRequest request = RequestContextHolder.get();
//        String buildNumber = request.getHeader("buildNumber");
//        return buildNumber;
//    }
//}
